-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
ODD(s(s(x))) → ODD(x)
-1(s(x), s(y)) → -1(x, y)
HALF(s(s(x))) → HALF(x)
F(x, s(y), z) → F(x, y, *(x, z))
F(x, s(y), z) → *1(x, x)
F(x, s(y), z) → F(*(x, x), half(s(y)), z)
POW(x, y) → F(x, y, s(0))
F(x, s(y), z) → ODD(s(y))
F(x, s(y), z) → IF(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
*1(x, s(y)) → *1(x, y)
F(x, s(y), z) → HALF(s(y))
F(x, s(y), z) → *1(x, z)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
ODD(s(s(x))) → ODD(x)
-1(s(x), s(y)) → -1(x, y)
HALF(s(s(x))) → HALF(x)
F(x, s(y), z) → F(x, y, *(x, z))
F(x, s(y), z) → *1(x, x)
F(x, s(y), z) → F(*(x, x), half(s(y)), z)
POW(x, y) → F(x, y, s(0))
F(x, s(y), z) → ODD(s(y))
F(x, s(y), z) → IF(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
*1(x, s(y)) → *1(x, y)
F(x, s(y), z) → HALF(s(y))
F(x, s(y), z) → *1(x, z)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
HALF(s(s(x))) → HALF(x)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
HALF(s(s(x))) → HALF(x)
The value of delta used in the strict ordering is 4.
POL(HALF(x1)) = (2)x_1
POL(s(x1)) = 1 + x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
ODD(s(s(x))) → ODD(x)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ODD(s(s(x))) → ODD(x)
The value of delta used in the strict ordering is 6.
POL(ODD(x1)) = (2)x_1
POL(s(x1)) = 1 + (2)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
*1(x, s(y)) → *1(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
*1(x, s(y)) → *1(x, y)
The value of delta used in the strict ordering is 4.
POL(*1(x1, x2)) = (4)x_2
POL(s(x1)) = 1 + (4)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
F(x, s(y), z) → F(x, y, *(x, z))
F(x, s(y), z) → F(*(x, x), half(s(y)), z)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(x, s(y), z) → F(x, y, *(x, z))
F(x, s(y), z) → F(*(x, x), half(s(y)), z)
The value of delta used in the strict ordering is 11/4.
POL(half(x1)) = (1/4)x_1
POL(*(x1, x2)) = 1/2 + (1/4)x_2
POL(s(x1)) = 4 + (4)x_1
POL(F(x1, x2, x3)) = (2)x_1 + (5/4)x_2 + (15/4)x_3
POL(0) = 0
POL(+(x1, x2)) = 1/2 + (7/4)x_1
*(x, s(y)) → +(*(x, y), x)
half(s(0)) → 0
half(0) → 0
half(s(s(x))) → s(half(x))
*(x, 0) → 0
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
-1(s(x), s(y)) → -1(x, y)
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
-1(s(x), s(y)) → -1(x, y)
The value of delta used in the strict ordering is 12.
POL(-1(x1, x2)) = (3)x_2
POL(s(x1)) = 4 + (2)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
-(x, 0) → x
-(s(x), s(y)) → -(x, y)
*(x, 0) → 0
*(x, s(y)) → +(*(x, y), x)
if(true, x, y) → x
if(false, x, y) → y
odd(0) → false
odd(s(0)) → true
odd(s(s(x))) → odd(x)
half(0) → 0
half(s(0)) → 0
half(s(s(x))) → s(half(x))
if(true, x, y) → true
if(false, x, y) → false
pow(x, y) → f(x, y, s(0))
f(x, 0, z) → z
f(x, s(y), z) → if(odd(s(y)), f(x, y, *(x, z)), f(*(x, x), half(s(y)), z))